/**
 * 
 */
package com.cqcis.uip.base.framework.core;

import java.util.List;

import com.cqcis.uip.base.framework.common.Task;


/**
 * 注册接口
 * 
 * @author huangmy
 *
 */
public interface RegisteredInterface extends Service {
	/**
	 * 处理给定的任务, 如果处理失败, 必须返回 false 或者抛出异常; 
	 *                  处理成功, 必须返回true
	 * @param task
	 * @return
	 * @throws Exception
	 */
    public boolean schedule(final Task task) throws Exception;
    
    /**
     * 处理已经完成工单; 一般从对端系统队列表中获取工单, 查看工单处理标志, 
     * 然后调用 {@link TaskChangeService} 更新工单标志;
     * @throws Exception
     */
    public List<Task> get(final String interfaceId) throws Exception;
    
    /**
     * 处理任务结果
     * @param result
     * @return
     */
    public boolean processResult(List<Task> results);
}
